1. Field of Invention
The invention relates generally to digital image processing systems. More particularly, methods and apparatus for selectively processing a digital image are disclosed. More particularly, the invention provides techniques that allow a user to re-rasterize an image (photo or video) at any desired resolution on-demand.
2. Description of Relevant Art
When a user performs image operations using digital image processing programs such as Adobe Photoshop™ or PhotoDeluxe™, image operations are performed directly on the raw pixels of the image. Since most imaging applications only perform image operations on one resolution, usually the highest resolution, these operations are sometimes very slow, even on the fastest computers. If an application could work at a lower resolution for display purposes, the processing time would significantly decrease, thus increasing the productivity of the user. While it is sometimes possible for an application to work on lower-resolution image data, when the image with all the applied image operations is to be saved, the full-resolution image data must be processed at that time. If this step were not performed, the saved image would only contain low-resolution image data. While this is one option, this is not desired since it would not be possible to obtain an image rasterized at a higher resolution.
In general, an application is forced to generate one resolution (usually the highest), even though lower-resolution data could be used since the output may be targeted to a low-resolution display device and not a high-resolution printer. Unfortunately, it is not possible for the application to know apriori how the image will be used in the future, thus a high-resolution image is usually created.
There have been recent developments in technology that have attempted to solve this problem. An imaging application that supports FlashPix™ technology, developed by a consortium of companies comprising of the Digital Imaging Group (DIG), can display and manipulate on-screen images at a lower-resolution, but retains access to the higher-resolution image data. The FlashPix™ file contains the following items: (a) the original higher-resolution image data, (b) a very limited set of image transforms (such as: rotation, translation, cropping, color twist, blur/sharpen adjustment, brightness/contrast adjustment), and (c) an optional resultant image. While this appears to resolve the problems listed above, there are several limitations. The most important of which is that the original image data, the image transforms, and the optional resultant image are stored together in one central file. This does not provide for a distributed imaging architecture as describe by the invention, nor is it a lightweight solution needed for transmission of images in a low-bandwidth network environment. Additional limitations of FlashPix are that the file format is based on a proprietary, complex format referred to as COM/Structured Storage which, in the current form used by FlashPix™, does not support the ideas put forth by this invention. Further, the image transforms supported are limited to a few operations.
What is desired is a method or system that allows a user to create a resultant image (possibly at a lower-resolution than the digital negative), but retains a reference to the digital negative as well as to a list of all image operations such that a higher-resolution output image can be generated by reprocessing the list on the digital negative.